1. Field of the Invention
The present invention relates to an image forming apparatus, a control method thereof, and a storage medium.
2. Description of the Related Art
An image forming apparatus, such as a copying machine and a laser printer, includes a controller for generating image data to be used in printing. This controller receives print data from a host computer, analyzes that data, and performs image processing. Further, the image forming apparatus also includes an engine (printer engine) communicably connected to the controller, which performs an image forming operation based on the image data from the controller. The controller transmits various instructions relating to image formation as commands to the engine. The engine sends back information about the internal state of the engine as a status report to the controller.
When print data from the host computer is received, the controller starts processing for analyzing the print data and rasterizing it into image data. First, the controller transmits a printing preparation request command to the engine. Then, the engine transitions from a standby state to a printing state in which a printing operation can be performed. When the engine is transitioning from a standby state to a printing state, the engine starts up various motors and other such actuators, which are a drive source for conveying a recording medium. Further, the engine also starts up the various units that perform the charging, exposure, development, transfer, and fixing necessary for an electrophotographic process. These processes are a pre-processing step performed before the printing operation. This pre-processing step is referred to as “pre-rotation”. Further, when image processing finishes, the controller transmits a printing start request command to the engine. When the engine receives the printing start request command, the engine starts the printing operation.
When printing of all of the pages in the print data is completed, the controller transmits a printing completion command. The engine receives the printing completion command, and determines that all of the printing operation has finished. In addition, the engine stops the various actuators and units that should be transitioned back to a standby state. These processes are a post-processing step performed after the printing operation. This post-processing step is referred to as “post-rotation”. The time required for the pre-rotation and post-rotation depends on the type of printer engine. Some printer engines take about a few seconds, while other printer engines may take about several dozen seconds.
Further, even if the engine does not receive a printing completion command, if a predetermined time period has elapsed since reception of the last printing start request command, the engine determines that the printing operation has finished, and starts post-rotation. However, this causes a problem if a new printing start request command is transmitted from the controller immediately thereafter. Once the engine has started post-rotation it is difficult to stop that process midway through, so that the post-rotation is executed until the end. Then, based on the new printing start instruction from the controller, the engine again executes pre-rotation. Specifically, the image forming apparatus user has to wait for output the extra time took for executing both the post-rotation and pre-rotation. When image data could not be formed even though a predetermined time has elapsed since reception of the last printing start request command, the engine enters post-rotation. This operation is referred to as “cycle down”. Further, the waiting time from after entering post-rotation until entering pre-rotation is referred to as “downtime”.
Various methods have been proposed to improve the occurrence of such downtime. Japanese Patent Application Laid-Open No. 2006-015515 discusses a method in which a command for notifying that printing start will be delayed is prepared to prevent the engine from entering post-rotation even if a reply to a command corresponding to printing start of the next page is delayed. Further, when this command (printing start delay command) is received from the controller, the engine extends the timing for entering post-rotation.
On the other hand, to satisfy throughput of engines, methods for shortening the raster image processor (RIP) processing time of the print data by the controller have also been proposed. Recently, improvements in the central processing unit clock have hit a ceiling, and the trend towards using multiple cores, in which a plurality of cores is housed in a single package, in progressing. To fully utilize the performance of a multi-core CPU, RIP processing needs to be performed in parallel. Several methods have been proposed for this, such as a job parallel processing method in which a plurality of jobs is simultaneously subjected to RIP processing in parallel by a plurality of cores. In a job parallel processing method, when processing a large amount of jobs, the overall productivity can be improved. Further, another example is a page parallel processing method, in which a plurality of pages in a single job is simultaneously subjected to RIP processing in parallel by a plurality of cores. In a page parallel processing method, increased speed can be expected even for a single job.
Even if parallel processing is employed for RIP processing of print data, cases in which the time taken during the parallel processing does not keep up with engine throughput still occur. The main reasons for this are the increasing complexity of print data and the increasing speed of engines resulting from improvements in host computer performance. When considering print product productivity, although the engine could be configured so that a print standby state is maintained without the engine cycling down, such a configuration is not desirable from the perspectives of power consumption and the life of a photosensitive drum, a fixing device and other such parts.